package com.tedu.api.thread;

/**
 * Thread()类 线程同步
 * join()
 * 作用：允许一个线程等待另一个线程执行完毕，在执行自己
 * 用法：程序名.join()，用在另一个线程
 *
 * 线程同步：执行线程先后顺序
 * 线程异步：执行线程没有顺序，各自完成各自线程功能
 *
 * 模拟：下载图片[1~100%下载进度]，显示图片功能【先下载，在查看】
 *       线程 download 功能：下载进度条 1%--100% 100毫秒
 *       线程 show     功能：显示图片
 */
public class Thread_join {
    public static void main(String[] args) {
        Thread download=new Thread(()->{
            for (int i=0;i<=100;i++){
                System.out.println("下载进度："+i+"%");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            System.out.println("线程结束：下载完成");
        });
        download.start();
        //显示线程
        Thread show=new Thread(()->{
                try {
                    download.join();//下载完毕之后，调显示的线程
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                System.out.println("显示图片");
        });
        show.start();
    }
}
